"""
@version:python3
@author:ll
@file:06-QPushButton-功能API.py
@time:2022/2/14 0:32
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys


# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("按钮的功能")
window.resize(500,500)
btn = QPushButton(QIcon("xxx.png"),"xxx",window)

# 菜单的设置
menu = QMenu()
# 子菜单 最近打开
# open_recent_menu = QMenu()
# open_recent_menu.setTitle("最近打开")
open_recent_menu = QMenu("最近打开",menu)
# 行为动作 打开、新建，分割线，退出


# new_action = QAction()
# new_action.setText("新建")
# new_action.setIcon(QIcon("xxx.png"))

new_action = QAction(QIcon("xxx.png"),"新建",menu)
new_action.triggered.connect(lambda :print("新建文件"))

open_action = QAction(QIcon("xxx.png"),"打开",menu)
open_action.triggered.connect(lambda :print("打开文件"))

exit_action = QAction("退出",menu)
exit_action.triggered.connect(lambda :print("退出程序"))

file_action = QAction("pyqt5编程")

menu.addAction(new_action)
menu.addAction(open_action)
menu.addMenu(open_recent_menu)
open_recent_menu.addAction(file_action)
menu.addSeparator()
menu.addAction(exit_action)



btn.setMenu(menu)
# 2.3 展示控件
window.show()
btn.showMenu()
# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())